{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "0fdc046e",
   "metadata": {},
   "source": [
    "--------\n",
    "* 记录人：李铸波\n",
    "* 时间：2021/11/18\n",
    "* week12\n",
    "* 主要参与文档：\n",
    "> [python官方文档](http:python/org)    \n",
    "> [gitee课堂笔记](https://gitee.com/xzhichao/python)  \n",
    "> [老师的博客](https://cnblogs.com/xuzhichao)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2c859399",
   "metadata": {},
   "source": [
    "# 本周内容\n",
    "## 1.字典的实践（一）\n",
    "\n",
    "* 课本P112-P113\n",
    "* 知识点\n",
    "> 1.利用字典计算字频  \n",
    "> 2.字典的初始化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "fcff8732",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一段文本，统计字母出现次数：strawberry\n",
      "{'a': 1, 'e': 1, 'i': 0, 'o': 0, 'u': 0}\n"
     ]
    }
   ],
   "source": [
    "# 在列表基础上（列表可统计出现的 内容有哪些）\n",
    "# 字典可统计出现的内容 + 出现的次数（词频）\n",
    "vowels = [\"a\",\"e\",\"i\",\"o\",\"u\"] # irerable\n",
    "word = input(\"请输入一段文本，统计字母出现次数：\")\n",
    "found = {}\n",
    "\n",
    "# 利用字典创建的方式就，创建字典 doct_name[key]=value\n",
    "# found[\"a\"]=0\n",
    "# found[\"e\"]=0\n",
    "# found[\"i\"]=0\n",
    "# found[\"o\"]=0\n",
    "# found[\"u\"]=0\n",
    "\n",
    "# 方法一：循环 vowels\n",
    "# for i in vowels:   # 进行优化  fromkeys()\n",
    "#     found[i] = 0\n",
    "\n",
    "# 方法二：利用fromkeys 实现初始化值\n",
    "found = found.fromkeys(vowels,0)\n",
    "\n",
    "for i in word:\n",
    "    if i in vowels:\n",
    "        found[i] +=1\n",
    "print(found)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "0a9ae9bc",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'a': 1, 'e': 0, 'i': 2, 'o': 0, 'u': 1}\n"
     ]
    }
   ],
   "source": [
    "print(found)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "76492218",
   "metadata": {},
   "source": [
    "> 1.字典的高级用法：formkeys()\n",
    ">> 1.给定一个序列数据作为key  \n",
    ">> 2.把序列<font style=\"color:red\">**所有**</font>内容进行初始化，作为新的字典内容"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "a1f01410",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function fromkeys:\n",
      "\n",
      "fromkeys(iterable, value=None, /) method of builtins.type instance\n",
      "    Create a new dictionary with keys from iterable and values set to value.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(found.fromkeys)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "20936316",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'liliumang': 0, 'jianglaoban': 0, 'kaijiayongshi': 0}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "names_list = ['liliumang','jianglaoban','kaijiayongshi']\n",
    "names_age_dict = {}\n",
    "names_age_dict.fromkeys(names_list,0)\n",
    "# 把一个序列作为一点字典的keys，然后初始化其值（默认值：none），可以给定一个值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "2f4c130d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{}"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "names_age_dict"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5993e81e",
   "metadata": {},
   "source": [
    "## 字典的实践（二）\n",
    "* 课本p121  \n",
    "> 1.利用字典统计出现的关键字的词频  \n",
    "> 2.指定内容初始化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "78ba3947",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Provide a word to search for vowels:liliumang\n",
      "a 1\n",
      "i 2\n",
      "u 1\n"
     ]
    }
   ],
   "source": [
    "vowels = [\"a\",\"e\",\"i\",\"o\",\"u\"]\n",
    "word = input(\"Provide a word to search for vowels:\")\n",
    "found = {}\n",
    "\n",
    "for letter in word:\n",
    "    if letter in vowels:\n",
    "        found.setdefault(letter,0)  #如果是元音字母，就在字典found中初始化这个元音字母，值为0\n",
    "        found[letter] +=1\n",
    "for k,v in sorted(found.items()):\n",
    "    print(k,v)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7549dd7a",
   "metadata": {},
   "source": [
    "> 2.字典的高级用法 setdefault()\n",
    ">> 1.如果字典中还没有该内容（item） ，新增该item作为字典的key，默认值default = None，可以指定值的内容(初始化值的内容)\n",
    ">> 2.如果 该内容（item） 已经是字典的key， 则不操作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "9d22472f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function setdefault:\n",
      "\n",
      "setdefault(key, default=None, /) method of builtins.dict instance\n",
      "    Insert key with a value of default if key is not in the dictionary.\n",
      "    \n",
      "    Return the value for key if key is in the dictionary, else default.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(names_age_dict.setdefault)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "5b4c4bf5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'a': 2, 'e': 0}"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "found = {'a':2}\n",
    "found.setdefault('e',0) # e是不存在 found中的\n",
    "found"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "be9a11cb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "found.setdefault('a',5) # a已经存在在 字典found的中了，不操作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "73a922b3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'a': 2, 'e': 0}"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "found"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "f0909fb1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Provide a word to search for vowels:jianglaoban\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'i': 1, 'a': 3, 'o': 1}"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 课本字典实践二：\n",
    "vowels = [\"a\",\"e\",\"i\",\"o\",\"u\"]\n",
    "word = input(\"Provide a word to search for vowels:\")\n",
    "found = {}\n",
    "\n",
    "for letter in word:\n",
    "    if letter in vowels:\n",
    "        found.setdefault(letter,0)  \n",
    "        found[letter] +=1\n",
    "found"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "eff77eb4",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 步骤：\n",
    "# h 不在\n",
    "# e found ={'e':1}\n",
    "# l 不在\n",
    "# l 不在\n",
    "# o found ={'e':1,'o':1}\n",
    "#   不在\n",
    "# x 不在\n",
    "# i found ={'e':1,'o':1,'i':1}\n",
    "# a found ={'e':1,'o':1,'i':1,'a':1}\n",
    "# o found = {'e':1,'o':2,'i':1,'a':1}\n",
    "# m 不在\n",
    "# i found = {'e':1,'o':2,'i':2,'a':1}\n",
    "# n 不在\n",
    "# g 不在"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "2e358010",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function pop:\n",
      "\n",
      "pop(...) method of builtins.dict instance\n",
      "    D.pop(k[,d]) -> v, remove specified key and return the corresponding value.\n",
      "    If key is not found, d is returned if given, otherwise KeyError is raised\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(found.pop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "8686d29b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function keys:\n",
      "\n",
      "keys(...) method of builtins.dict instance\n",
      "    D.keys() -> a set-like object providing a view on D's keys\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(found.keys)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba4ae9b7",
   "metadata": {},
   "source": [
    "|序号|字典的方法|用法|使用结果|注意事项|\n",
    "|---|-----|-----|-----|----|\n",
    "|1|字典的删除pop()|\n",
    "|2|字典查询所有关键字keys()|"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5045cdfd",
   "metadata": {},
   "source": [
    "## 字典的实践（三）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "5d30719f",
   "metadata": {},
   "outputs": [],
   "source": [
    "people = {}\n",
    "people['Ford'] = {\"Name\":'Ford Prefect',\n",
    "                  \"Gender\":'Male',\n",
    "                  \"Occupation\":'Researcher',\n",
    "                  \"Home Planet\":'Betelgeuse Seven'}\n",
    "people['Arthur'] = {\"Name\":'Arthur Dent',\n",
    "                  \"Gender\":'Male',\n",
    "                  \"Occupation\":'Sandwich-Maker',\n",
    "                  \"Home Planet\":'Earth'}\n",
    "people['Tricia'] = {\"Name\":'Tricia McMillan',\n",
    "                    \"Gender\":'Female',\n",
    "                    \"Occupation\":'Mathematician',\n",
    "                    \"Home Planet\":'Earth'}\n",
    "people['Marvin'] = {\"Name\":'Marvin',\n",
    "                    \"Gender\":'Unknown',\n",
    "                    \"Occupation\":'Paranoid Android',\n",
    "                    \"Home Planet\":'Unknown'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "1069449a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Ford': {'Name': 'Ford Prefect',\n",
       "  'Gender': 'Male',\n",
       "  'Occupation': 'Researcher',\n",
       "  'Home Planet': 'Betelgeuse Seven'},\n",
       " 'Arthur': {'Name': 'Arthur Dent',\n",
       "  'Gender': 'Male',\n",
       "  'Occupation': 'Sandwich-Maker',\n",
       "  'Home Planet': 'Earth'},\n",
       " 'Tricia': {'Name': 'Tricia McMillan',\n",
       "  'Gender': 'Female',\n",
       "  'Occupation': 'Mathematician',\n",
       "  'Home Planet': 'Earth'},\n",
       " 'Marvin': {'Name': 'Marvin',\n",
       "  'Gender': 'Unknown',\n",
       "  'Occupation': 'Paranoid Android',\n",
       "  'Home Planet': 'Unknown'}}"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "people"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "8d01c5e7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Name': 'Tricia McMillan',\n",
       " 'Gender': 'Female',\n",
       " 'Occupation': 'Mathematician',\n",
       " 'Home Planet': 'Earth'}"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 请 找出 Tricia 的 名字全称\n",
    "people[\"Tricia\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "70f3be15",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Tricia McMillan'"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "people[\"Tricia\"][\"Name\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "77cfb27a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Name': 'Marvin',\n",
       " 'Gender': 'Unknown',\n",
       " 'Occupation': 'Paranoid Android',\n",
       " 'Home Planet': 'Unknown'}"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "people['Marvin']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "e3ae9022",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Unknown'"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "people['Marvin']['Home Planet']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "36e16b35",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['Ford', 'Arthur', 'Tricia', 'Marvin'])"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查询字典中所有的key\n",
    "people.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "b1b8cdd0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_values([{'Name': 'Ford Prefect', 'Gender': 'Male', 'Occupation': 'Researcher', 'Home Planet': 'Betelgeuse Seven'}, {'Name': 'Arthur Dent', 'Gender': 'Male', 'Occupation': 'Sandwich-Maker', 'Home Planet': 'Earth'}, {'Name': 'Tricia McMillan', 'Gender': 'Female', 'Occupation': 'Mathematician', 'Home Planet': 'Earth'}, {'Name': 'Marvin', 'Gender': 'Unknown', 'Occupation': 'Paranoid Android', 'Home Planet': 'Unknown'}])"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查看字典中所有的value\n",
    "people.values()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "c41fa9ad",
   "metadata": {},
   "outputs": [],
   "source": [
    "广州南方学院 = {'status': '1',\n",
    " 'regeocode': {'roads': [{'id': '020F49F0050461206',\n",
    "    'location': '113.678,23.6284',\n",
    "    'direction': '北',\n",
    "    'name': '博学路',\n",
    "    'distance': '7.63232'},\n",
    "   {'id': '020F49F0050462229',\n",
    "    'location': '113.679,23.6245',\n",
    "    'direction': '北',\n",
    "    'name': '老虎形街',\n",
    "    'distance': '445.159'},\n",
    "   {'id': '020F49F0050462451',\n",
    "    'location': '113.677,23.6347',\n",
    "    'direction': '南',\n",
    "    'name': '中山路',\n",
    "    'distance': '708.299'}],\n",
    "  'roadinters': [{'second_name': '中山路',\n",
    "    'first_id': '020F49F0050461206',\n",
    "    'second_id': '020F49F0050462451',\n",
    "    'location': '113.676794,23.634661',\n",
    "    'distance': '708.299',\n",
    "    'first_name': '博学路',\n",
    "    'direction': '南'}],\n",
    "  'formatted_address': '广东省广州市从化区温泉镇博学路',\n",
    "  'addressComponent': {'city': '广州市',\n",
    "   'province': '广东省',\n",
    "   'adcode': '440117',\n",
    "   'district': '从化区',\n",
    "   'towncode': '440117100000',\n",
    "   'streetNumber': {'number': '24号',\n",
    "    'location': '113.677267,23.629149',\n",
    "    'direction': '西北',\n",
    "    'distance': '129.943',\n",
    "    'street': '博学路'},\n",
    "   'country': '中国',\n",
    "   'township': '温泉镇',\n",
    "   'businessAreas': [[]],\n",
    "   'building': {'name': [], 'type': []},\n",
    "   'neighborhood': {'name': [], 'type': []},\n",
    "   'citycode': '020'},\n",
    "  'aois': [],\n",
    "  'pois': [{'id': 'B0FFG4TAF2',\n",
    "    'direction': '东南',\n",
    "    'businessarea': [],\n",
    "    'address': '温泉镇乌土村松浪队5号(近博学路)',\n",
    "    'poiweight': '0.237309',\n",
    "    'name': '广州南方公寓',\n",
    "    'location': '113.678983,23.627778',\n",
    "    'distance': '102.617',\n",
    "    'tel': '13622768437',\n",
    "    'type': '商务住宅;住宅区;住宅小区'},\n",
    "   {'id': 'B0H6FA18J5',\n",
    "    'direction': '东南',\n",
    "    'businessarea': [],\n",
    "    'address': '从莞深高速(广州南方学院南侧)',\n",
    "    'poiweight': '0.223065',\n",
    "    'name': '保利半山花园',\n",
    "    'location': '113.679358,23.627672',\n",
    "    'distance': '139.054',\n",
    "    'tel': [],\n",
    "    'type': '商务住宅;住宅区;住宅区'},\n",
    "   {'id': 'B00140TWHT',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '笃行路2',\n",
    "    'poiweight': '0.157653',\n",
    "    'name': '教工住宅1号',\n",
    "    'location': '113.678490,23.630432',\n",
    "    'distance': '222.658',\n",
    "    'tel': [],\n",
    "    'type': '商务住宅;住宅区;住宅小区'},\n",
    "   {'id': 'B0FFHRJDM9',\n",
    "    'direction': '东南',\n",
    "    'businessarea': [],\n",
    "    'address': '中大南方学院南门1号',\n",
    "    'poiweight': '0.256152',\n",
    "    'name': '中南公寓',\n",
    "    'location': '113.680349,23.627573',\n",
    "    'distance': '231.723',\n",
    "    'tel': '13711245345',\n",
    "    'type': '商务住宅;住宅区;住宅小区'},\n",
    "   {'id': 'B0HGD588HJ',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '博学路',\n",
    "    'poiweight': '0.221662',\n",
    "    'name': '广州南方学院教学楼4号',\n",
    "    'location': '113.677460,23.630490',\n",
    "    'distance': '242.901',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'},\n",
    "   {'id': 'B0FFHZH0IK',\n",
    "    'direction': '西北',\n",
    "    'businessarea': [],\n",
    "    'address': '博学路广州南方学院综合楼内',\n",
    "    'poiweight': '0.17934',\n",
    "    'name': '地下铁',\n",
    "    'location': '113.677941,23.629029',\n",
    "    'distance': '74.1376',\n",
    "    'tel': [],\n",
    "    'type': '餐饮服务;冷饮店;冷饮店'},\n",
    "   {'id': 'B0HGDU76L2',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '博学路',\n",
    "    'poiweight': '0.221662',\n",
    "    'name': '广州南方学院2号实验楼',\n",
    "    'location': '113.678211,23.630956',\n",
    "    'distance': '280.003',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'},\n",
    "   {'id': 'B0FFKP838K',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '博学路25',\n",
    "    'poiweight': '0.191742',\n",
    "    'name': '教学楼3号(外国语学院)',\n",
    "    'location': '113.677247,23.630947',\n",
    "    'distance': '298.093',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;高等院校'},\n",
    "   {'id': 'B0HGDU8NLD',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '博学路附近',\n",
    "    'poiweight': '0.221662',\n",
    "    'name': '广州南方学院1号实验楼',\n",
    "    'location': '113.678215,23.631370',\n",
    "    'distance': '326.007',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'},\n",
    "   {'id': 'B0HGD58UTU',\n",
    "    'direction': '西北',\n",
    "    'businessarea': [],\n",
    "    'address': '博学路',\n",
    "    'poiweight': '0.191229',\n",
    "    'name': '广州南方学院2号教学楼',\n",
    "    'location': '113.677060,23.631346',\n",
    "    'distance': '346.352',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'},\n",
    "   {'id': 'B00140MR9A',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '温泉大道882号',\n",
    "    'poiweight': '0.450402',\n",
    "    'name': '广州南方学院',\n",
    "    'location': '113.679262,23.632583',\n",
    "    'distance': '471.564',\n",
    "    'tel': '020-87828988;020-61787331',\n",
    "    'type': '科教文化服务;学校;高等院校'},\n",
    "   {'id': 'B0HGDU92JD',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': [],\n",
    "    'poiweight': '0.221662',\n",
    "    'name': '广州南方学院教学楼1号',\n",
    "    'location': '113.677077,23.631783',\n",
    "    'distance': '391.548',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'},\n",
    "   {'id': 'B0HGD592BJ',\n",
    "    'direction': '东北',\n",
    "    'businessarea': [],\n",
    "    'address': '温泉大道886号广州南方学院内',\n",
    "    'poiweight': '0.221662',\n",
    "    'name': '广州南方学院综合楼',\n",
    "    'location': '113.680117,23.631544',\n",
    "    'distance': '392.731',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'},\n",
    "   {'id': 'B0FFKP81F0',\n",
    "    'direction': '西北',\n",
    "    'businessarea': [],\n",
    "    'address': '博学路19号附近',\n",
    "    'poiweight': '0.191742',\n",
    "    'name': '教学楼1号(文学与传媒学院)',\n",
    "    'location': '113.676866,23.631736',\n",
    "    'distance': '393.93',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
    "   {'id': 'B0FFLBEOND',\n",
    "    'direction': '东北',\n",
    "    'businessarea': [],\n",
    "    'address': '从莞深高速(广州南方学院)',\n",
    "    'poiweight': '0.190963',\n",
    "    'name': '聚贤楼10号',\n",
    "    'location': '113.681253,23.631036',\n",
    "    'distance': '418.51',\n",
    "    'tel': [],\n",
    "    'type': '商务住宅;住宅区;宿舍'},\n",
    "   {'id': 'B0FFH6K3U9',\n",
    "    'direction': '西北',\n",
    "    'businessarea': [],\n",
    "    'address': '温泉镇温泉大道882号广州南方学院H7栋1-5层',\n",
    "    'poiweight': '0.254885',\n",
    "    'name': '广州中大南方招待所',\n",
    "    'location': '113.676330,23.631332',\n",
    "    'distance': '378.102',\n",
    "    'tel': '020-61787222',\n",
    "    'type': '住宿服务;住宿服务相关;住宿服务相关'},\n",
    "   {'id': 'B0HGD58NF8',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '温泉大道882号广州南方学院新综合楼2层',\n",
    "    'poiweight': '0.191229',\n",
    "    'name': '广州南方学院达人书院',\n",
    "    'location': '113.679041,23.632392',\n",
    "    'distance': '446.366',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
    "   {'id': 'B0FFKUVYWV',\n",
    "    'direction': '东北',\n",
    "    'businessarea': [],\n",
    "    'address': '保利桃花源',\n",
    "    'poiweight': '0.273168',\n",
    "    'name': '广州和风庭阿七度假别墅',\n",
    "    'location': '113.681736,23.630569',\n",
    "    'distance': '424.35',\n",
    "    'tel': '18681565305',\n",
    "    'type': '住宿服务;住宿服务相关;住宿服务相关'},\n",
    "   {'id': 'B0HGDU99RM',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '温泉大道882号广州南方学院内',\n",
    "    'poiweight': '0.257947',\n",
    "    'name': '广州南方学院图书馆',\n",
    "    'location': '113.679177,23.632762',\n",
    "    'distance': '489.331',\n",
    "    'tel': '020-61787368;020-61787371',\n",
    "    'type': '科教文化服务;图书馆;图书馆'},\n",
    "   {'id': 'B0HGDU92JC',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '博学路附近',\n",
    "    'poiweight': '0.221662',\n",
    "    'name': '广州南方学院4号实验楼',\n",
    "    'location': '113.679963,23.632652',\n",
    "    'distance': '498.883',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'},\n",
    "   {'id': 'B0FFL7C054',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '温泉镇博学路882号(广州南方学院商业中心1层)',\n",
    "    'poiweight': '0.317505',\n",
    "    'name': '广州U优森特酒店',\n",
    "    'location': '113.679226,23.632528',\n",
    "    'distance': '464.819',\n",
    "    'tel': '15813395296',\n",
    "    'type': '住宿服务;住宿服务相关;住宿服务相关'},\n",
    "   {'id': 'B0FFG8CSEK',\n",
    "    'direction': '东北',\n",
    "    'businessarea': [],\n",
    "    'address': '从莞深高速(广州南方学院)',\n",
    "    'poiweight': '0.185371',\n",
    "    'name': 'L5员工宿舍',\n",
    "    'location': '113.682583,23.631487',\n",
    "    'distance': '554.129',\n",
    "    'tel': [],\n",
    "    'type': '商务住宅;住宅区;宿舍'},\n",
    "   {'id': 'B0HGD58FR2',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '广州南方学院',\n",
    "    'poiweight': '0.221662',\n",
    "    'name': '广州南方学院教学楼9号',\n",
    "    'location': '113.679747,23.633032',\n",
    "    'distance': '532.163',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'},\n",
    "   {'id': 'B0HG5Z9JNK',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '博学路',\n",
    "    'poiweight': '0.221553',\n",
    "    'name': '广州南方学院教学楼7号',\n",
    "    'location': '113.678600,23.633330',\n",
    "    'distance': '544.868',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'},\n",
    "   {'id': 'B0HGD599JM',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '温泉大道882号广州南方学院',\n",
    "    'poiweight': '0.221662',\n",
    "    'name': '广州南方学院第11教学楼',\n",
    "    'location': '113.680037,23.633173',\n",
    "    'distance': '556.036',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'},\n",
    "   {'id': 'B0GUJYPEG2',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '温泉大道882号广州南方学院内博学路6号之3',\n",
    "    'poiweight': '0.216026',\n",
    "    'name': '怒烤烤串(从化店)',\n",
    "    'location': '113.677160,23.632910',\n",
    "    'distance': '510.112',\n",
    "    'tel': [],\n",
    "    'type': '餐饮服务;中餐厅;特色/地方风味餐厅'},\n",
    "   {'id': 'B0HGDU6Z41',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '温泉大道882',\n",
    "    'poiweight': '0.221662',\n",
    "    'name': '广州南方学院教学楼6号',\n",
    "    'location': '113.678424,23.633710',\n",
    "    'distance': '586.331',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'},\n",
    "   {'id': 'B0HGD580NZ',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '博学路7号附近',\n",
    "    'poiweight': '0.285712',\n",
    "    'name': '广州南方学院惟贤门',\n",
    "    'location': '113.678437,23.633721',\n",
    "    'distance': '587.601',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;高等院校'},\n",
    "   {'id': 'B0HGDU7T1K',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '从莞深高速(广州南方学院)',\n",
    "    'poiweight': '0.191229',\n",
    "    'name': '广州南方学院教学楼10号',\n",
    "    'location': '113.680125,23.633492',\n",
    "    'distance': '592.504',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
    "   {'id': 'B0HGDU76L1',\n",
    "    'direction': '北',\n",
    "    'businessarea': [],\n",
    "    'address': '中山路与博学路交叉口东南150米',\n",
    "    'poiweight': '0.221662',\n",
    "    'name': '广州南方学院教学楼5号',\n",
    "    'location': '113.678046,23.633982',\n",
    "    'distance': '616.848',\n",
    "    'tel': [],\n",
    "    'type': '科教文化服务;学校;学校'}]},\n",
    " 'info': 'OK',\n",
    " 'infocode': '10000'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "a1033e1a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['status', 'regeocode', 'info', 'infocode'])"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广州南方学院.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "c0c1b9b5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1'"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 字典的查询的一般方法：1. 先看key是否存在 2. dict_name[key]进行查询\n",
    "广州南方学院['status']"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "080708c7",
   "metadata": {},
   "source": [
    " * 广州南方学院（“regeocode\"）是核心数据\n",
    "> 广州南方学院 （“regeocode\"）.key()\n",
    "> 依次查询一遍key键所对应的值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "d45f8d9c",
   "metadata": {},
   "outputs": [],
   "source": [
    "广州南方学院_regeocode = 广州南方学院['regeocode']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "bcd96461",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['roads', 'roadinters', 'formatted_address', 'addressComponent', 'aois', 'pois'])"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广州南方学院_regeocode.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "8e6ad37a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'id': '020F49F0050461206',\n",
       "  'location': '113.678,23.6284',\n",
       "  'direction': '北',\n",
       "  'name': '博学路',\n",
       "  'distance': '7.63232'},\n",
       " {'id': '020F49F0050462229',\n",
       "  'location': '113.679,23.6245',\n",
       "  'direction': '北',\n",
       "  'name': '老虎形街',\n",
       "  'distance': '445.159'},\n",
       " {'id': '020F49F0050462451',\n",
       "  'location': '113.677,23.6347',\n",
       "  'direction': '南',\n",
       "  'name': '中山路',\n",
       "  'distance': '708.299'}]"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广州南方学院_regeocode['roads']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "1f1a396b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'second_name': '中山路',\n",
       "  'first_id': '020F49F0050461206',\n",
       "  'second_id': '020F49F0050462451',\n",
       "  'location': '113.676794,23.634661',\n",
       "  'distance': '708.299',\n",
       "  'first_name': '博学路',\n",
       "  'direction': '南'}]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广州南方学院_regeocode['roadinters']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "d2a379e9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广东省广州市从化区温泉镇博学路'"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广州南方学院_regeocode['formatted_address']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "02c0d5c3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'city': '广州市',\n",
       " 'province': '广东省',\n",
       " 'adcode': '440117',\n",
       " 'district': '从化区',\n",
       " 'towncode': '440117100000',\n",
       " 'streetNumber': {'number': '24号',\n",
       "  'location': '113.677267,23.629149',\n",
       "  'direction': '西北',\n",
       "  'distance': '129.943',\n",
       "  'street': '博学路'},\n",
       " 'country': '中国',\n",
       " 'township': '温泉镇',\n",
       " 'businessAreas': [[]],\n",
       " 'building': {'name': [], 'type': []},\n",
       " 'neighborhood': {'name': [], 'type': []},\n",
       " 'citycode': '020'}"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广州南方学院_regeocode['addressComponent']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "b45b2dfb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[]"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广州南方学院_regeocode['aois']"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2552618f",
   "metadata": {},
   "source": [
    "* 广州南方学院_regeocode['pois'] 是兴趣点的目标数据\n",
    "> 1.处理列表，首先先查看列表的一个内容的数据样态 例如：广州南方学院_regeocode['pois'][0]  \n",
    "> 2.查看列表的长度（有多少个同样的数据形态的数据）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "86d8613f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 广州南方学院_regeocode['pois']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "71287715",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'id': 'B0FFG4TAF2',\n",
       " 'direction': '东南',\n",
       " 'businessarea': [],\n",
       " 'address': '温泉镇乌土村松浪队5号(近博学路)',\n",
       " 'poiweight': '0.237309',\n",
       " 'name': '广州南方公寓',\n",
       " 'location': '113.678983,23.627778',\n",
       " 'distance': '102.617',\n",
       " 'tel': '13622768437',\n",
       " 'type': '商务住宅;住宅区;住宅小区'}"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 1.首先先查看列表的一个内容的数据样态\n",
    "广州南方学院_regeocode['pois'][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "da3ec68b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "30"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(广州南方学院_regeocode['pois'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "d0fc75b8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 实践1（找出某一个细节的信息）：取出\"教工住宅1号\"的信息\n",
    "\n",
    "for i in 广州南方学院_regeocode['pois']:\n",
    "    if i['name'] == \"教工住宅1号\":\n",
    "        教工住宅1号 = i "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "d713905a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'id': 'B00140TWHT',\n",
       " 'direction': '北',\n",
       " 'businessarea': [],\n",
       " 'address': '笃行路2',\n",
       " 'poiweight': '0.157653',\n",
       " 'name': '教工住宅1号',\n",
       " 'location': '113.678490,23.630432',\n",
       " 'distance': '222.658',\n",
       " 'tel': [],\n",
       " 'type': '商务住宅;住宅区;住宅小区'}"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "教工住宅1号"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "9718a7f1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'教工住宅1号'"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "教工住宅1号_name = 教工住宅1号['name']\n",
    "教工住宅1号_name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "f5426757",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 实践2（找出某种数据特征的数据） ：取出 direction 为 北 所有数据\n",
    "direction_北 = []\n",
    "for i in 广州南方学院_regeocode['pois']:\n",
    "    if i['direction'] == '北':\n",
    "        direction_北.append(i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "7f8b2f83",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "19"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(direction_北)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "0d68ffdb",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 实践3（找出某种数据特征的数据） ：取出 direction 为 北 所有建筑名称\n",
    "direction_北_name = []\n",
    "for i in 广州南方学院_regeocode['pois']:\n",
    "    if i['direction'] == '北':\n",
    "        direction_北_name.append(i['name'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "eb84c073",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['教工住宅1号',\n",
       " '广州南方学院教学楼4号',\n",
       " '广州南方学院2号实验楼',\n",
       " '教学楼3号(外国语学院)',\n",
       " '广州南方学院1号实验楼',\n",
       " '广州南方学院',\n",
       " '广州南方学院教学楼1号',\n",
       " '广州南方学院达人书院',\n",
       " '广州南方学院图书馆',\n",
       " '广州南方学院4号实验楼',\n",
       " '广州U优森特酒店',\n",
       " '广州南方学院教学楼9号',\n",
       " '广州南方学院教学楼7号',\n",
       " '广州南方学院第11教学楼',\n",
       " '怒烤烤串(从化店)',\n",
       " '广州南方学院教学楼6号',\n",
       " '广州南方学院惟贤门',\n",
       " '广州南方学院教学楼10号',\n",
       " '广州南方学院教学楼5号']"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "direction_北_name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "783299d8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 实践3（找出某种数据特征的数据） ：取出 direction 为 北 所有实验楼朝北的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "efcddfc5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['广州南方学院2号实验楼', '广州南方学院1号实验楼', '广州南方学院4号实验楼']"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "direction_北_name_实验楼 = []\n",
    "for i in direction_北_name:\n",
    "    if '实验楼' in i:\n",
    "        direction_北_name_实验楼.append(i)\n",
    "\n",
    "direction_北_name_实验楼 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "40ebc02f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "362d99dd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'10000'"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广州南方学院['infocode']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "dfe8edd7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'OK'"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广州南方学院['info']"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
